(function ($) {
	$.fn.jqF = function( pin ) {
		if (typeof pin == 'string') {
			var fn = $.jqInvoke.getAccessor($.jqFormatter,pin);
			if (!fn) {
				alert("$.jqFormatter - 未找到匹配的校验方法 : " + pin);
				//throw ("$.jqValidator - No such method: " + pin);
				return;
			}
			var args = $.makeArray(arguments).slice(1);
			return fn.apply(this,args);
		}
		return this.each( function() {
			
		});
	};
	
	/**
	 * 格式化器
	 */
	$.jqFormatter = $.jqFormatter || {};
	$.extend($.jqFormatter,{
		
		globalDefaultRules : {
//			toHalfAngle : true,
//			trimAll : true
		},
		/**
		 * 初始化规则
		 */
		initFormatRules : function(selector){
			var $form = $(selector);
			//判断是否已经初始化
			if(!$form.data("alreadyInitFormatRules") == "true" || !$form.data("alreadyInitFormatRules") === true){
				//已经初始化
				$form.data("alreadyInitFormatRules",true); 
				var elms =  $form.find('input,select,textarea');
			    for(var i=0; i< elms.length;i++) {
			    	var $elm = $(elms[i]);
			    	var formatRulesRulesText = $elm.attr('formatRules');
					var formatRules = $.parseJSON(formatRulesRulesText);
					formatRules = $.extend({},$.jqFormatter.globalDefaultRules,formatRules);
					if(!$.isEmptyObject(formatRules) && $.isPlainObject(formatRules)){
						for(var key in formatRules) { 
							$elm.jqF(key,formatRules);
						}
					}
			    }
			}
		}
	});
})(jQuery);
